package assignment.jaxb;

import javax.xml.bind.annotation.XmlAttribute;


/**
 * @author $Author:$
 * @version $Id: $
 */
public class Card {
	
	private String url;
	private String imageFileUrl;
	private String graphicCardName;
	
	private String manufacturer;
	private String series;	
	private String GPU;
	private String releaseDate;
	private String interface_;
	private String coreClock;
	private String memoryClock;
	private String memoryBandwidth;
	private String shaderOperations;
	private String pixelFillRate;
	private String textureFillRate;
	private String vertexOperations;
	private CardDetails details = new CardDetails();
	
	public String toString(){
		return new StringBuffer()
			.append("**********************************")
			.append("\n** Card: " + this.graphicCardName)
			.append("\n**********************************")
			.append("\n** URL: " + this.url)
			.append("\n** Image file URL: " + this.imageFileUrl)
			.append("\n** Manufacturer: " + this.manufacturer)
			.append("\n** Series: " + this.series)
			.append("\n** GPU: " + this.GPU)
			.append("\n** Release date: " + this.releaseDate)
			.append("\n** Interface: " + this.interface_)
			.append("\n** Core clock: " + this.coreClock)
			.append("\n** Memory clock: " + this.memoryClock)
			.append("\n** Memory bandwidth: " + this.memoryBandwidth)
			.append("\n** Shader operations: " + this.shaderOperations)
			.append("\n** Pixel fill rate: " + this.pixelFillRate)
			.append("\n** Texture fill rate: " + this.textureFillRate)
			.append("\n** Vertex operations: " + this.vertexOperations)
			.append("\n").append(details)
		.toString();
	}
		
	@XmlAttribute
	public String getUrl() {
		return url;
	}
	
	public void setUrl(String url) {
		this.url = url;
	}
	
	public String getImageFileUrl() {
		return imageFileUrl;
	}

	public void setImageFileUrl(String imageFileUrl) {
		this.imageFileUrl = imageFileUrl;
	}

	public String getGraphicCardName() {
		return graphicCardName;
	}

	public void setGraphicCardName(String graphicCardName) {
		this.graphicCardName = graphicCardName;
	}

	public String getManufacturer() {
		return manufacturer;
	}
	
	public void setManufacturer(String manufacturer) {
		this.manufacturer = manufacturer;
	}
	
	public String getSeries() {
		return series;
	}
	
	public void setSeries(String series) {
		this.series = series;
	}
	
	public String getGPU() {
		return GPU;
	}
	
	public void setGPU(String gPU) {
		GPU = gPU;
	}
	
	public String getReleaseDate() {
		return releaseDate;
	}
	
	public void setReleaseDate(String releaseDate) {
		this.releaseDate = releaseDate;
	}
	
	public String getInterface() {
		return interface_;
	}
	
	public void setInterface(String interface_) {
		this.interface_ = interface_;
	}
	
	public String getCoreClock() {
		return coreClock;
	}
	
	public void setCoreClock(String coreClock) {
		this.coreClock = coreClock;
	}
	
	public String getMemoryClock() {
		return memoryClock;
	}
	
	public void setMemoryClock(String memoryClock) {
		this.memoryClock = memoryClock;
	}
	
	public String getMemoryBandwidth() {
		return memoryBandwidth;
	}
	public void setMemoryBandwidth(String memoryBandwidth) {
		this.memoryBandwidth = memoryBandwidth;
	}
	
	public String getShaderOperations() {
		return shaderOperations;
	}
	
	public void setShaderOperations(String shaderOperations) {
		this.shaderOperations = shaderOperations;
	}
	
	public String getPixelFillRate() {
		return pixelFillRate;
	}
	
	public void setPixelFillRate(String pixelFillRate) {
		this.pixelFillRate = pixelFillRate;
	}
	
	public String getTextureFillRate() {
		return textureFillRate;
	}
	
	public void setTextureFillRate(String textureFillRate) {
		this.textureFillRate = textureFillRate;
	}
	
	public String getVertexOperations() {
		return vertexOperations;
	}
	
	public void setVertexOperations(String vertexOperations) {
		this.vertexOperations = vertexOperations;
	}
	
	public CardDetails getDetails() {
		return details;
	}
	
	public void setDetails(CardDetails details) {
		this.details = details;
	}
}
